#include 	"HAL1_Init.h" 
#include 	"HAL_Delay.h"
#include 	"usart.h"
#include 	"PlatHAL.h"
#include	"PlatLED.h"
#include	"PlatP12VOut.h"
#include	"PlatSpi.h"
#include	"PlatNet.h"
#include	"PlatExtMemory.h"
#include	"PlatBus.h" 
#include	"PlatStart.H"
#include	"PlatStart.h"



/**midware test*/
#include "PCCommand.h"



/*测试*/
 
#include "unity.h"


void 	HAL_Unity_Test(void);


void	InitALL(void){

/**
 * @brief 基本初始化  可以实现一些一本功能，可以进行Unity测试
 * 
 */
	Plat_HAL_Init()		; 
	Plat_Clock_Init()	;
	Plat_delay_Init()	;
	Plat_uart_Init()	;
	
	Plat_LED_Init()		;
	Plat_P12Vs_Init()	;
	Plat_BUZZER_Init()	;
	
 

	
//	Plat_Din_Init()		;
//	Plat_Dout_Init()	;
//	Plat_ScanIO_Init()	;


	Plat_SPI_Init()		;
	Plat_Net_Init()		; 
	Plat_Ext_Memory_Init()	;

//	Plat_Modbus_Init()	;
	
	HAL_Unity_Test();	
	
	while (1)
	{
		delay_ms(1000);
		Plat_Led_Toggle();
		Plat_Net_Process();	 
	}
	

}	



/**
 * @brief 
 * 
 */
void 	HAL_Unity_Test(void){

 
    UNITY_BEGIN(); 
    RUN_TEST(Test_LED_Logic);
    RUN_TEST(Test_BUZZER_Logic);
    RUN_TEST(Test_P12Vs_Logic);	 
    RUN_TEST(Test_W5500_SPI_Logic);	
    RUN_TEST(TEST_SDRAM_WRITE_READ);	

    RUN_TEST(Test_Data_Bus_Logic);
    RUN_TEST(Test_Status_Bus_Logic);
    RUN_TEST(Test_Din_Bus_Logic);
    RUN_TEST(Test_Control_Bus_Logic);
    RUN_TEST(Test_Dout_Bus_Logic);

    RUN_TEST(TEST_Card_En_Logic);
    RUN_TEST(TEST_Get_Card_NO);
    RUN_TEST(TEST_Set_Start_Card_NO);
	RUN_TEST(TEST_Get_Port_NO);
	RUN_TEST(TEST_Set_Port_NO);
	RUN_TEST(TEST_Get_Channel_NO);
	RUN_TEST(TEST_Set_Channel_NO);
	RUN_TEST(TEST_Set_Start_Pin);

	/*midware test*/
	RUN_TEST(Test_Get_Bit32);
	RUN_TEST(TEST_CONVERT_PCCMD_FROM_INT);

    UNITY_END();
}












